DClosure

DClosure is a wrapper around the gobject library's GClosure with special handling for marshalling D delegates and function pointers as callbacks.

Closures are central to the concept of asynchronous signal delivery which is widely used throughout GTK+ and GNOME applications. A closure is an abstraction, a generic representation of a callback.

Constructors

this
this(GClosure* gClosure, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this(T callback, bool swap)

Create a new Closure that will call callback when it's invoked.

Members

Functions

getDClosureStruct
GClosure* getDClosureStruct(bool transferOwnership)

Get the main Gtk struct

Static functions

d_closure_marshal
void d_closure_marshal(GClosure* closure, GValue* return_value, uint n_param_values, GValue* param_values, void* invocation_hint, void* marshal_data)
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From Closure

gClosure
GClosure* gClosure;

the main Gtk struct

ownedRef
bool ownedRef;
Undocumented in source.
getClosureStruct
GClosure* getClosureStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

~this
~this()
Undocumented in source.
getType
GType getType()
addFinalizeNotifier
void addFinalizeNotifier(void* notifyData, GClosureNotify notifyFunc)

Registers a finalization notifier which will be called when the reference count of @closure goes down to 0.

addInvalidateNotifier
void addInvalidateNotifier(void* notifyData, GClosureNotify notifyFunc)

Registers an invalidation notifier which will be called when the @closure is invalidated with g_closure_invalidate().

addMarshalGuards
void addMarshalGuards(void* preMarshalData, GClosureNotify preMarshalNotify, void* postMarshalData, GClosureNotify postMarshalNotify)

Adds a pair of notifiers which get invoked before and after the closure callback, respectively.

invalidate
void invalidate()

Sets a flag on the closure to indicate that its calling environment has become invalid, and thus causes any future invocations of g_closure_invoke() on this @closure to be ignored.

invoke
void invoke(Value returnValue, Value[] paramValues, void* invocationHint)

Invokes the closure, i.e. executes the callback represented by the @closure.

doref
alias doref = ref_
Undocumented in source.
ref_
Closure ref_()

Increments the reference count on a closure to force it staying alive while the caller holds a pointer to it.

removeFinalizeNotifier
void removeFinalizeNotifier(void* notifyData, GClosureNotify notifyFunc)

Removes a finalization notifier.

removeInvalidateNotifier
void removeInvalidateNotifier(void* notifyData, GClosureNotify notifyFunc)

Removes an invalidation notifier.

setMarshal
void setMarshal(GClosureMarshal marshal)

Sets the marshaller of @closure.

setMetaMarshal
void setMetaMarshal(void* marshalData, GClosureMarshal metaMarshal)

Sets the meta marshaller of @closure.

sink
void sink()

Takes over the initial ownership of a closure.

unref
void unref()

Decrements the reference count of a closure after it was previously incremented by the same caller.

sourceSetClosure
void sourceSetClosure(Source source, Closure closure)

Set the callback for a source as a #GClosure.

sourceSetDummyCallback
void sourceSetDummyCallback(Source source)

Sets a dummy callback for @source. The callback will do nothing, and if the source expects a #gboolean return value, it will return %TRUE. (If the source expects any other type of return value, it will return a 0/%NULL value; whatever g_value_init() initializes a #GValue to for that type.)

Meta